//状态集中管理
//数据实现响应式
//使用场景: 权限管理 路径 对用户进行权限限制
 
import { reactive } from "vue"
import { getUserInfoByTele } from "../api/user/user";
import { createSocket } from "../api/webSocket";
import {  USER_IMG_URL } from "../constant/systemConstant";
import { userInfoByBack } from "../type/user";
 
//ref-->字符串,数字 reactive-->对象中存储
const store={
  //定义状态
  state:reactive({
	pkId:"",
    nickname: "未登录呀",
    headimgurl: USER_IMG_URL
  }),
  userLogin(telephone:string){
	  getUserInfoByTele(telephone).then((res:userInfoByBack)=>{
	    if(res!=null){
			store.state.pkId=res.pkId;
			store.state.nickname=res.username;
			store.state.headimgurl=res.userImg;
			uni.setStorageSync('userInfo',store.state);
			uni.showToast({
				//后台把错误请求信息放在msg中 
			    title: '登录成功ヾ(•ω•`)o',
			    icon: "none"
			});
			//登录 建立连接
			//聊天连接
			createSocket();
		}
	  })
  }
}
//在App组件通过provide提供
export default store